Most manufacturing plants or factories are distributed in that they consist of heterogenous, unconnected factory stations to do work. The virtue of this factory design is that it provides the adaptability to a varying product mix. The drawback is the resulting complexity of operations, management, and quality control.
A distributed manufacturing plant is capable of fabricating a variety of products through an ordered-process sequence of process steps. Each process step can be performed by at least one station in the factory. Distributed factories are common in the manufacture of modern electronic products. Six types of distributed factories can be involved: wafer slicing, wafer fabrication, semiconductor-component assembly, circuit-board fabrication, circuit-board assembly, electric-product assembly. The arch type of the distributed factory is a wafer-fabrication plant or "wafer fab," which may manufacture products simultaneously according to over 1000 processes, averaging over 100 steps each.
The wafer fabrication factories with over 1000 fabrication sequences are known. Such a collection of processes is difficult to represent in a drawing like a fab graph. Such a factory, however, can be described to a computer system.
The complexity of distributed factories is further illustrated by the existence of tens of thousands of fabrication sequences in a general class of distributed factory called a "job shop." The standard approach to describing the collection of sequences in the job shop is to surrender to the complexity and describe the product class through the factory as being random. These are clearly not random, but only recently have computers provided the practical computational power to describe highly complex factories accurately.
The factory is a complex, data and information rich entity. The data structure with tens of thousands of parameters may be required merely to describe the factory. Furthermore, in operation, a dynamic factory produces orders of magnitude of data describing the production flows. The sheer volume of information has made the operation and control of distributed factories a major problem.
Despite the large data volumes and complexity of the problem, factory management and control was accomplished primarily by manual methods with limited assistance in scheduling from software. The software schedule in practice is determined by the decisions of various production supervisors or foreman, or in some cases the workers themselves. In attempts to address the problems of optimal factory control, a tremendous theoretical literature on production scheduling has been developed. The result of this work has been to establish that current factory control is far from optimal and to define the degree of complexity of the factory management issues. Unfortunately, this work has not resulted in practical methods for factory control. On the other hand, the world is filled with real factories that operate, however, sub-optimally. Where the theory has provided solutions to control, factories run through thousands of ad-hoc decisions made on the factory floor. Thus, there exists a substantial need for the improvement in modeling and control techniques so that they can be of more practical use. Each factory's equipment generally has it own control systems and monitoring capabilities for monitoring the flow, pressure, and adjustments for maintaining a given setpoint. As these machines become more sophisticated and capable of computer control, the control of these machines is increasingly being controlled through the use of computers. However, as a result of this development, the machines are isolated into islands of automation, lacking a method and apparatus of complete automation. As machines process wafers in a factory, the processing varies from machine to machine as a result of slightly different machine characteristics. Further, as a machine ages, the characteristics of the machine vary such that the wafers which are processed by the machine are processed in a slightly different way resulting in process drift. Furthermore, as the environment around the machine changes slightly, the resulting process of the machine on the wafer changes resulting in additional process drift. As a result, if there was any process drift due to the above-described reasons, an engineer or factory personnel would be required to run a series of experiments on a particular machine to determine the reasons for the drift and to obtain a satisfactory compensation for the drift so that the process again reaches a target value. Since as described before, the factory consists of a large number of these machines, the job of the engineer is multiplied by a factor of 100 to maintain the complete factory to a predetermined target value.